<h1>Design of the program</h1>

<h2>Introduction</h2>
Justitia is written in PHP5.

<p>
Before reading the design documentation, it is recommend that you first read and understand the <a href="documentation.php/courses/index">course creation documentation</a>.


<h2>Directories</h2>
<dl>
  <dt><tt>lib/</tt>
  <dd>
    Contains the classes of the program, one class per file.
    <tt>bootstrap.inc</tt> sets up <a href="http://php.net/autoload">autoloading</a> of classes.
    
  <dt><tt>frontend/</tt>
  <dd>
    Files visble from the website.
    Each .php file is a different page.
    <p>
    Pages intended only for administrators are called <tt>admin_*.php</tt>.
    Pages which are intended to be called from javascript as part of the gui are called <tt>ajax_*.php</tt>.
    
  <dt><tt>backend/</tt>
  <dd>
    The judge daemons.
    
  <dt><tt>config/</tt>
  <dd>
    Configuration files, see <a href="documentation.php/admin/install">installation instructions</a>.

  <dt><tt>install/</tt>
  <dd>
    Database construction script.

  <dt><tt>doc/</tt>
  <dd>
    This documentation.
</dl>


<h2>More</h2>
Read further about
<ul>
 <li><a href="documentation.php/design/storage">How data is stored</a>
 <li><a href="documentation.php/design/daemons">The design of judge daemons</a>
 <li><a href="documentation.php/design/classes">Classes that occur in the source code</a>
</ul>
